﻿namespace OverStore.Scoping.Manager
{
    /// <summary>
    /// Action performed on <see cref="OperationScope"/> instance.
    /// </summary>
    public enum OperationScopeAction
    {
        /// <summary>
        /// Root operation scope is completed.
        /// </summary>
        Completing,

        /// <summary>
        /// Root operation scope is failed. Failing event is raised when root operation scope is disposed prior to Complete method call.
        /// </summary>
        Failing,

        /// <summary>
        /// Root operation scope is completed and completing event was processed.
        /// </summary>
        PostCompleting,
        
        /// <summary>
        /// Root operation scope is failed and failing event was processed.
        /// </summary>
        PostFailing
    }
}
